package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Scanner;

/**
 * 完成一个简易记事本工具
 * 需求:
 * 程序启动后,创建一个文件输出流,用于对文件note.txt做写入数据操作
 * 将用户在控制台上输入的每一行内容陆续写入note.txt文件中
 * 若用户在控制台上输入了exit,则程序退出
 */
public class NotDemo {
    public static void main(String[] args) throws IOException {
         /*
            文件流的两种创建模式
            覆盖模式:
            创建文件流时如果指定的文件已经存在,则会将文件原有数据清除
            FileOutputStream(String fileName)
            FileOutputStream(File file)

            追加模式
            创建文件流时若文件存在则原数据保留,新写入的内容会陆续追加到文件中
            FileOutputStream(String fileName,boolean append)
            FileOutputStream(File file,boolean append)
            若第二个参数为true,则为追加模式
         */
        FileOutputStream fos=new FileOutputStream("note.txt",true);
        Scanner sc=new Scanner(System.in);
        System.out.println("请开始输入内容,单独导入exit退出");

        while (true){
            String line=sc.nextLine();
            if ("exit".equals(line)){
                break;
            }
            //将一个字节数组中所有字节按照指定的字符集转换为文字
            byte[] date=line.getBytes(StandardCharsets.UTF_8);
            fos.write(date);
        }
        System.out.println("886");
        fos.close();
    }
}
/*
思路:
1.创建输出流和Scanner,并且创建note.txt
2.将在控制台输入的内容转为数组,然后在记事本上输出
 */